package com.headStorm.nio.buffer;

import com.sun.corba.se.impl.orbutil.CorbaResourceUtil;

import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.IntBuffer;

public class BasicBuffer {

    public static void main(String[] args) {
       // intBufferUse();

//        ByteBuffer byteBuffer = ByteBuffer.allocate(5);
//
//        System.out.println(byteBuffer.position());
//
//        byteBuffer.position(1);
//
//        System.out.println(byteBuffer.position());
//        byteBuffer.put((byte)1);
//        byteBuffer.put((byte)1);
//        byteBuffer.put((byte)1);
//        byteBuffer.put((byte)1);
//        byteBuffer.put((byte)1);

        System.out.println(ByteOrder.nativeOrder());

    }

    public static void intBufferUse(){
        //分配空间
        IntBuffer intBuffer = IntBuffer.allocate(5);

        //向buffer中存放数据
        for (int i = 0; i < intBuffer.capacity() ; i++) {
            intBuffer.put(i*2);
        }
        //读取数据
        intBuffer.flip();
        while (intBuffer.hasRemaining()){
            int value = intBuffer.get();
            int remaining = intBuffer.remaining();
            int position = intBuffer.position();

            if(intBuffer.position()==3){
                intBuffer.mark();
                System.out.println("remaining:"+remaining+" position:"+position+" value:"+value);
            }
            if(intBuffer.position()==4){
                System.out.println("remaining:"+remaining+" position:"+position+" value:"+value);
            }
            if(intBuffer.position()==5){
                intBuffer.reset();
            }
        }
    }

}
